# 需要的cmake最低版本是 2.8
cmake_minimum_required(VERSION 2.8)

project(WServer)

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
elseif(COMPILER_SUPPORTS_CXX0X)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
    message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()

#add_definitions("-Wall -std=c++11") # <= 新增的编译选项

aux_source_directory(. SRC_LIST)

add_subdirectory(bean)	
add_subdirectory(business)	
add_subdirectory(utils)	
add_subdirectory(threadpool)	

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)

add_executable(wserver ${SRC_LIST} bean business utils threadpool)

target_link_libraries(wserver bean)
target_link_libraries(wserver business)
target_link_libraries(wserver utils)
target_link_libraries(wserver threadpool)
target_link_libraries(wserver pthread)